﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace GPI.Server
{
        public partial class UserService
        {
        /// <summary>
        /// t_user
        /// </summary>

            private readonly DAL.UserDAL dal = new DAL.UserDAL();
            public UserService()
            { }
            #region  Method
            /// <summary>
            /// 是否存在该记录
            /// </summary>
            public bool Exists(int Id)
            {
                return dal.Exists(Id);
            }

            /// <summary>
            /// 增加一条数据
            /// </summary>
            public bool Add(Model.UserInfo model)
            {
                return dal.Add(model);
            }

            /// <summary>
            /// 更新一条数据
            /// </summary>
            public bool Update(Model.UserInfo model)
            {
                return dal.Update(model);
            }

            /// <summary>
            /// 删除一条数据
            /// </summary>
            public bool Delete(int Id)
            {

                return dal.Delete(Id);
            }
            /// <summary>
            /// 删除一条数据
            /// </summary>
            public bool DeleteList(string Idlist)
            {
                return dal.DeleteList(Idlist);
            }

            /// <summary>
            /// 得到一个对象实体
            /// </summary>
            public Model.UserInfo GetModel(int Id)
            {

                return dal.GetModel(Id);
            }

            /// <summary>
            /// 得到一个对象实体，从缓存中
            /// </summary>
            public Model.UserInfo GetModelByCache(int Id)
            {

                string CacheKey = "t_userModel-" + Id;
                object objModel = Moon.Common.DataCache.GetCache(CacheKey);
                if (objModel == null)
                {
                    try
                    {
                        objModel = dal.GetModel(Id);
                        if (objModel != null)
                        {
                            int ModelCache = Moon.Common.ConfigHelper.GetConfigInt("ModelCache");
                            Moon.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
                        }
                    }
                    catch { }
                }
                return (Model.UserInfo)objModel;
            }

            /// <summary>
            /// 获得数据列表
            /// </summary>
            public DataSet GetList(string strWhere)
            {
                return dal.GetList(strWhere);
            }
            /// <summary>
            /// 获得数据列表
            /// </summary>
            public List<Model.UserInfo> GetModelList(string strWhere)
            {
                DataSet ds = dal.GetList(strWhere);
                return DataTableToList(ds.Tables[0]);
            }
            /// <summary>
            /// 获得数据列表
            /// </summary>
            public List<Model.UserInfo> DataTableToList(DataTable dt)
            {
                List<Model.UserInfo> modelList = new List<Model.UserInfo>();
                int rowsCount = dt.Rows.Count;
                if (rowsCount > 0)
                {
                    Model.UserInfo model;
                    for (int n = 0; n < rowsCount; n++)
                    {
                        model = new Model.UserInfo();
                        if (dt.Rows[n]["Id"] != null && dt.Rows[n]["Id"].ToString() != "")
                        {
                            model.Id = int.Parse(dt.Rows[n]["Id"].ToString());
                        }
                        if (dt.Rows[n]["AdminUser"] != null && dt.Rows[n]["AdminUser"].ToString() != "")
                        {
                            model.AdminUser = dt.Rows[n]["AdminUser"].ToString();
                        }
                        if (dt.Rows[n]["AdminPass"] != null && dt.Rows[n]["AdminPass"].ToString() != "")
                        {
                            model.AdminPass = dt.Rows[n]["AdminPass"].ToString();
                        }
                        if (dt.Rows[n]["IpLog"] != null && dt.Rows[n]["IpLog"].ToString() != "")
                        {
                            model.IpLog = dt.Rows[n]["IpLog"].ToString();
                        }
                        modelList.Add(model);
                    }
                }
                return modelList;
            }

            /// <summary>
            /// 获得数据列表
            /// </summary>
            public DataSet GetAllList()
            {
                return GetList("");
            }

            /// <summary>
            /// 分页获取数据列表
            /// </summary>
            public int GetRecordCount(string strWhere)
            {
                return dal.GetRecordCount(strWhere);
            }
            /// <summary>
            /// 分页获取数据列表
            /// </summary>
            public DataSet GetListByPage(string strWhere, string[] orderby, int startIndex, int endIndex)
            {
                return dal.GetListByPage(strWhere, orderby, startIndex, endIndex);
            }
            /// <summary>
            /// 分页获取数据列表
            /// </summary>
            //public DataSet GetList(int PageSize,int PageIndex,string strWhere)
            //{
            //return dal.GetList(PageSize,PageIndex,strWhere);
            //}

            #endregion  Method
        }
}
